package com.woniu.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @author jiang
 */
@Data
@ApiModel(value = "订单")
public class OrderDto implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 订单id
     */
    @ApiModelProperty(value = "订单编号")
    private String orderId;

    /**
     * 店铺id
     */
    @ApiModelProperty(value = "店铺id")
    private String storeId;

    /**
     * 店铺名字
     */
    @ApiModelProperty(value = "店铺名字")
    private String storeName;

    /**
     * 店铺电话
     */
    @ApiModelProperty(value = "店铺电话")
    private String storePhone;

    /**
     * 菜品数组
     */
    @ApiModelProperty(value = "菜品数组")
    private String productIds;

    /**
     * 订单总额
     */
    @ApiModelProperty(value = "订单总额")
    private BigDecimal orderAmount;
    /**
     * 订单折算前总价
     */
    @ApiModelProperty(value = "订单折算前总价")
    private BigDecimal orderDisAmount;
    /**
     * 用户id
     */
    @ApiModelProperty(value = "用户id")
    private String userId;

    /**
     * 用户名
     */
    @ApiModelProperty(value = "用户名")
    private String userName;

    /**
     * 用户电话
     */
    @ApiModelProperty(value = "用户电话")
    private String userPhone;

    /**
     * 送餐地址
     */
    @ApiModelProperty(value = "送餐地址id")
    private String userAddress;
    @ApiModelProperty(value = "收货人")
    private String consignee;
    @ApiModelProperty(value = "收货人地址")
    private String addressName;
    @ApiModelProperty(value = "收货人电话")
    private String consigneePhone;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;

    /**
     * 0 未支付 1已支付 2 准备中3配送中4已送达5已取消6已退款7等待商家接单8已关闭订单
     */
    @ApiModelProperty(value = "0 未支付 1已支付 2 准备中3配送中4已送达5已取消6已退款7等待商家接单8已关闭订单")
    private Integer orderState;

    /**
     * 支付方式
     */
    @ApiModelProperty(value = "支付方式")
    private String payMethod;

    /**
     * 订单生成时间
     */
    @ApiModelProperty(value = "订单生成时间")
    private String createTime;

    /**
     * 支付时间
     */
    @ApiModelProperty(value = "支付时间")
    private String payTime;

    /**
     * 配送时间
     */
    @ApiModelProperty(value = "配送时间")
    private String deliveryTime;

    /**
     * 送达时间
     */
    @ApiModelProperty(value = "送达时间")
    private String deliveredTime;

    /**
     * 取消时间
     */
    @ApiModelProperty(value = "取消时间")
    private String cancelledTime;

    /**
     * 退款时间
     */
    @ApiModelProperty(value = "退款时间")
    private String refundedTime;

    /**
     * 订单关闭时间
     */
    @ApiModelProperty(value = "订单关闭时间")
    private String closeTime;
}
